package com.inside.demo02;

// 静态内部类
public class Outer {
    // 外部类属性
    private String name = "张三";
    private int age = 25;

    // 静态内部类 和 外部类用法相同
    public static class Inner {
        // 静态
        private String name = "静态属性";
        private String phone = "151****7894";
        // 可以定义静态成员属性
        private static String address = "xxx";

        public void show() {
            // 访问外部属性
            // System.out.println(age); -- 不能直接访问外部属性
            // 1、创建外部对象
            Outer outer = new Outer();
            // 2、访问外部属性
            System.out.println(outer.name);
            System.out.println(outer.age);
            // 访问内部成员属性
            System.out.println(name);
            System.out.println(this.phone); // 或使用 this
            System.out.println(Inner.address); // 访问静态属性
            // 访问外部方法
            outer.run();
        }
    }
    // 外部方法
    public void run() {
        System.out.println("访问外部的方法");
    }
}
